package cn.yunyichina.provider.iface.service;

import java.util.List;

import cn.yunyichina.provider.iface.entity.common.ResCommon;
import cn.yunyichina.provider.iface.entity.hisiface.BaseVo;
import cn.yunyichina.provider.iface.entity.hisiface.base.CreateCardVo;
import cn.yunyichina.provider.iface.entity.hisiface.base.CreateCardVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.base.PatientVo;
import cn.yunyichina.provider.iface.entity.hisiface.base.PatientVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.bed.*;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.AckClinicExceptionVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.AckClinicExceptionVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.AckClinicPayVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.AckClinicPayVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.ClinicGuidanceVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.ClinicGuidanceVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.ClinicInsuranceVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.ClinicInsuranceVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.ClinicPrePriceVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.ClinicPrePriceVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.ClinicQueueVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.ClinicQueueVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.DeliveryInfoVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.DeliveryInfoVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.DeliveryVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FeeDetailFdVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FeeDetailFdaVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FeeDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FeeDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FeeVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FeeVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FiredAndDeliveredVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FiredAndDeliveredVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FiredFeeVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.FiredFeeVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.PayClinicOrderVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.PayClinicOrderVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.PayDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.PayDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.PayVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.PayVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.PrescriptionUploadVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.PrescriptionUploadVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.RefundClinicInsuranceVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.RefundClinicInsuranceZfqrVo;
import cn.yunyichina.provider.iface.entity.hisiface.clinic.SettleClinicInsuranceVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ExamineDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ExamineDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ExamineListVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ExamineListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.examination.InspectDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.InspectDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.examination.InspectListVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.InspectListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ReportImageVo;
import cn.yunyichina.provider.iface.entity.hisiface.examination.ReportImageVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.finance.FinanceCollectVo;
import cn.yunyichina.provider.iface.entity.hisiface.finance.FinanceCollectVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.finance.FinanceVo;
import cn.yunyichina.provider.iface.entity.hisiface.finance.FinanceVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.leads.ClinicAddressInfoVo;
import cn.yunyichina.provider.iface.entity.hisiface.leads.ClinicAddressInfoVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.leads.RegisterGuideInfoVo;
import cn.yunyichina.provider.iface.entity.hisiface.leads.RegisterGuideInfoVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.other.HospitalReportVo;
import cn.yunyichina.provider.iface.entity.hisiface.other.HospitalReportVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.other.QueryLogVo;
import cn.yunyichina.provider.iface.entity.hisiface.other.QueryLogVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.other.SmsNoticeVo;
import cn.yunyichina.provider.iface.entity.hisiface.other.SmsNoticeVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamItemDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamItemDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamListVo;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalReportImageVo;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalReportImageVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.register.*;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.InPatientFeeRecordsVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.InPatientFeeRecordsVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.InPatientSumFeeListVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.InPatientSumFeeListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBCheckRecordVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBCheckRecordVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBInPatientDiagnosisVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBInPatientDiagnosisVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBInPatientReportIdsVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBInPatientReportIdsVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBInspectRecordVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBInspectRecordVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBMZDiagnosisInfoVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBMZDiagnosisInfoVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBMZFeeRecordsVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBMZFeeRecordsVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBPatientsVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBPatientsVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBSurgeryRecordVo;
import cn.yunyichina.provider.iface.entity.hisiface.shangbao.SBSurgeryRecordVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.AdviceListVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.AdviceListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.CourseListVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.CourseListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.DoctorListVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.DoctorListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.InHospitalRecordVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.InHospitalRecordVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.MedRecordListVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.MedRecordListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.OutHospitalRecordVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.OutHospitalRecordVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.PatHospitalRecordVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.PatHospitalRecordVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.PreSurgeryRecordVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.PreSurgeryRecordVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.SurgeryRecordVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.SurgeryRecordVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.wards.ZyPatientListVo;
import cn.yunyichina.provider.iface.entity.hisiface.wards.ZyPatientListVoResponse;


/**
 * 云医通前置机调度中心服务子系统对外接口
 *
 * @author zhou
 * @date 2016-10-17
 */
public interface IHisiface extends IService {
	
	// ------------------------------------ 个人中心 start ------------------------------------ //

	/**
	 * 首诊患者建档
	 * 
	 * @param createCardVo
	 * @return
	 */
	ResCommon<CreateCardVoResponse> createCard(CreateCardVo createCardVo);
	
	/**
	 * 患者信息查询
	 * 
	 * @param mzPatientVo
	 * @return
	 */
	ResCommon<PatientVoResponse> getPatient(PatientVo patientVo);
	
	// ------------------------------------ 个人中心 end ------------------------------------ //
	
	// ------------------------------------ 挂号 start ------------------------------------ //
	
	/**
	 * 可挂号科室
	 * 
	 * @param registerDeptsVo
	 * @return
	 */
	ResCommon<List<RegisterDeptsVoResponse>> getRegisterDepts(RegisterDeptsVo registerDeptsVo);
	
	/**
	 * 医生资料查询
	 * <br>
	 * 可挂号医生查询
	 * 
	 * @param registerDoctorsVo
	 * @return
	 */
	ResCommon<List<RegisterDoctorsVoResponse>> getRegisterDoctors(RegisterDoctorsVo registerDoctorsVo);

	/**
	 * 号源信息查询
	 * 
	 * @param registerInfoVo
	 * @return
	 */
	ResCommon<List<RegisterInfoVoResponse>> getRegisterInfo(RegisterInfoVo registerInfoVo);

	/**
	 * 医生分时查询
	 * 
	 * @param registerDoctorTimeVo
	 * @return
	 */
	ResCommon<List<RegisterDoctorTimeVoResponse>> getRegisterDoctorTime(RegisterDoctorTimeVo registerDoctorTimeVo);

	/**
	 * 挂号（锁号）
	 * 
	 * @param orderRegisterVo
	 * @return
	 */
	ResCommon<OrderRegisterVoResponse> orderRegister(OrderRegisterVo orderRegisterVo);

	/**
	 * 取消挂号（锁号）
	 * 
	 * @param cancelRegisterVo
	 * @return
	 */
	ResCommon<Void> cancelRegister(CancelRegisterVo cancelRegisterVo);
	
	/**
	 * 挂号支付写单
	 * 
	 * @param payRegisterVo
	 * @return
	 */
	ResCommon<PayRegisterVoResponse> payRegister(PayRegisterVo payRegisterVo);

	/**
	 * 挂号退费确认
	 * <br>
	 * 只判断输入的订单及金额是否符合退费条件，不修改任何挂号记录及订单信息
	 * 
	 * @param ackRegisterRefundVo
	 * @return
	 */
	ResCommon<AckRegisterRefundVoResponse> ackRegisterRefund(AckRegisterRefundVo ackRegisterRefundVo);

	/**
	 * 挂号退费
	 * 
	 * @param refundRegisterVo
	 * @return
	 */
	ResCommon<Void> refundRegister(RefundRegisterVo refundRegisterVo);
	
	/**
	 * 挂号记录查询
	 * 
	 * @param registerRecordsVoResponse
	 * @return
	 */
	ResCommon<List<RegisterRecordsVoResponse>> getRegisterRecords(RegisterRecordsVo registerRecordsVo);
	
	/**
	 * 挂号记录查询（异常单）
	 * 
	 * @param registerExceptionRecordVo
	 * @return
	 */
	ResCommon<RegisterExceptionRecordVoResponse> getRegisterExceptionRecord(RegisterExceptionRecordVo registerExceptionRecordVo);
	
	/**
	 * 预约资料查询
	 * 
	 * @param orderDataVo
	 * @return
	 */
	ResCommon<OrderDataVoResponse> getRegisterOrderData(OrderDataVo orderDataVo);

	/**
	 * 预约资料查询
	 *
	 * @param orderDataVo
	 * @return
	 */
	ResCommon<List<OrderDataVoResponse>> getRegisterOrderDataList(OrderDataVo orderDataVo);
	
	/**
	 * 报到取号
	 * 
	 * @param takeNoVo
	 * @return
	 */
	ResCommon<TakeNoVoResponse> takeRegisterNo(TakeNoVo takeNoVo);
	
	/**
	 * 挂号异常确认
	 * 
	 * @return
	 */
	ResCommon<AckRegisterExceptionVoResponse> ackRegisterException(AckRegisterExceptionVo ackRegisterExceptionVo);
	
	/**
	 * 医生停诊
	 * 
	 * @param stopRegisterVo
	 * @return
	 */
	ResCommon<List<StopRegisterVoResponse>> stopRegister(StopRegisterVo stopRegisterVo);
	
	/**
	 * 挂号医保结算
	 * 
	 * @param settleRegisterInsuranceVo
	 * @return
	 */
	ResCommon<SettleRegisterInsuranceVoResponse> settleRegisterInsurance(SettleRegisterInsuranceVo settleRegisterInsuranceVo);
	
	/**
	 * 挂号医保退款
	 * 
	 * @param refundRegisterInsuranceVo
	 * @return
	 */
	ResCommon<Void> refundRegisterInsurance(RefundRegisterInsuranceVo refundRegisterInsuranceVo);
	
	// ------------------------------------ 挂号 end ------------------------------------ //
	
	// ------------------------------------ 门诊 start ------------------------------------ //
	
	/**
	 * 门诊待缴费记录查询
	 * 
	 * @param feeVo
	 * @return
	 */
	ResCommon<List<FeeVoResponse>> listClinicFee(FeeVo feeVo);
	
	/**
	 * 门诊待缴费记录明细查询
	 * 
	 * @param feeDetailVo
	 * @return
	 */
	ResCommon<List<FeeDetailVoResponse>> getClinicFeeDetail(FeeDetailVo feeDetailVo);
	
	/**
	 * 门诊待缴费记录明细查询（含代煎，整单配送）
	 * 
	 * @param feeDetailVo
	 * @return
	 */
	ResCommon<FeeDetailFdaVoResponse> getClinicFeeDetailFda(FeeDetailVo feeDetailVo);
	
	/**
	 * 门诊待缴费记录明细查询（含代煎，分单配送）
	 * 
	 * @param feeDetailVo
	 * @return
	 */
	ResCommon<FeeDetailFdVoResponse> getClinicFeeDetailFd(FeeDetailVo feeDetailVo);
	
	/**
	 * 门诊缴费划价
	 * 
	 * @param getClinicPrePrice
	 * @return
	 */
	ResCommon<ClinicPrePriceVoResponse> getClinicPrePrice(ClinicPrePriceVo clinicPrePriceVo);
	
	/**
	 * 门诊缴费订单支付
	 * 
	 * @param payClinicOrderVo
	 * @return
	 */
	ResCommon<PayClinicOrderVoResponse> payClinicOrder(PayClinicOrderVo payClinicOrderVo);
	
	/**
	 * 设置代煎配送
	 * 
	 * @param firedAndDeliveredVo
	 * @return
	 */
	ResCommon<List<FiredAndDeliveredVoResponse>> setFiredAndDelivered(FiredAndDeliveredVo firedAndDeliveredVo);
	
	/**
	 * 设置代煎费用
	 * 
	 * @param firedFeeVo
	 * @return
	 */
	ResCommon<FiredFeeVoResponse> setFiredFee(FiredFeeVo firedFeeVo);
	
	/**
	 * 设置配送信息
	 * <br>
	 * 配送信息只作暂时缓存，待用户支付缴费之后，再把配送信息发送到第三方的药物配送企业
	 * 
	 * @param deliveryVo
	 * @return
	 */
	ResCommon<Void> setDelivery(DeliveryVo deliveryVo);
	
	/**
	 * 配送信息查询
	 * 
	 * @param deliveryInfoVo
	 * @return
	 */
	ResCommon<List<DeliveryInfoVoResponse>> getDeliveryInfo(DeliveryInfoVo deliveryInfoVo);
	
	/**
	 * 门诊已缴费记录查询
	 * 
	 * @param payVo
	 * @return
	 */
	ResCommon<List<PayVoResponse>> listClinicPay(PayVo payVo);
	
	/**
	 * 门诊已缴费记录明细查询
	 * 
	 * @param payDetailVoResponse
	 * @return
	 */
	ResCommon<List<PayDetailVoResponse>> getClinicPayDetail(PayDetailVo payDetailVo);
	
	/**
	 * 门诊医保预结算
	 * 
	 * @param clinicInsuranceVo
	 * @return
	 */
	ResCommon<ClinicInsuranceVoResponse> getClinicInsurance(ClinicInsuranceVo clinicInsuranceVo);
	
	/**
	 * 门诊医保结算
	 * 
	 * @param settleClinicInsuranceVo
	 * @return
	 */
	ResCommon<Void> settleClinicInsurance(SettleClinicInsuranceVo settleClinicInsuranceVo);
	
	/**
	 * 门诊医保退款
	 * 
	 * @param refundClinicInsurance
	 * @return
	 */
	ResCommon<Void> refundClinicInsurance(RefundClinicInsuranceVo refundClinicInsurance);
	
	/**
	 * 门诊医保退款支付确认
	 * 
	 * @param refundClinicInsuranceZfqr
	 * @return
	 */
	ResCommon<Void> refundClinicInsuranceZfqr(RefundClinicInsuranceZfqrVo refundClinicInsuranceZfqr);
	
	/**
	 * 门诊缴费确认
	 * 
	 * @param ackClinicPayVo
	 * @return
	 */
	ResCommon<AckClinicPayVoResponse> ackClinicPay(AckClinicPayVo ackClinicPayVo);
	
	/**
	 * 门诊异常确认
	 * 
	 * @param ackClinicExceptionVo
	 * @return
	 */
	ResCommon<AckClinicExceptionVoResponse> ackClinicException(AckClinicExceptionVo ackClinicExceptionVo);
	
	/**
	 * 门诊候诊信息
	 * 
	 * @param getClinicQueue
	 * @return
	 */
	ResCommon<List<ClinicQueueVoResponse>> getClinicQueue(ClinicQueueVo clinicQueueVo);

	/**
	 * 门诊导诊信息查询
	 * 
	 * @param clinicGuidanceVo
	 * @return
	 */
	ResCommon<List<ClinicGuidanceVoResponse>> getClinicGuidance(ClinicGuidanceVo clinicGuidanceVo);
	
	/**
	 * 上传处方明细
	 * 
	 * @param prescriptionUploadVo
	 * @return
	 */
	ResCommon<PrescriptionUploadVoResponse> prescriptionUpload(PrescriptionUploadVo prescriptionUploadVo);
	
	// ------------------------------------ 门诊 end ------------------------------------ //
	
	// ------------------------------------ 住院 start ------------------------------------ //
	
	/**
	 * 住院记录查询
	 * 
	 * @param bedRecordsVo
	 * @return
	 */
	ResCommon<List<BedRecordsVoResponse>> getBedRecords(BedRecordsVo bedRecordsVo);
	
	/**
	 * 住院费用查询
	 * 
	 * @param bedFeeVo
	 * @return
	 */
	ResCommon<BedFeeVoResponse> getBedFee(BedFeeVo bedFeeVo);

	/**
	 * 出院结算费用查询
	 *
	 * @param bedFeeVo
	 * @return
	 */
	ResCommon<BedSettlementFeeVoResponse> getOutSettlementFee(BedSettlementFeeVo bedFeeVo);
	
	/**
	 * 住院押金补缴支付
	 * 
	 * @param payDepositVo
	 * @return
	 */
	ResCommon<PayDepositVoResponse> payDeposit(PayDepositVo payDepositVo);

	/**
	 * 住院出院结算支付
	 *
	 * @param payDepositVo
	 * @return
	 */
	ResCommon<PayOutSettlementVoResponse> payOutSettlement(PayOutSettlementVo payDepositVo);

	/**
	 * 住院押金补缴记录查询
	 *
	 * @param depositRecordsVo
	 * @return
	 */
	ResCommon<List<DepositRecordsVoResponse>> getDepositRecords(DepositRecordsVo depositRecordsVo);

	/**
	 * 出院结算记录查询
	 *
	 * @param depositRecordsVo
	 * @return
	 */
	ResCommon<List<DepositSettlementRecordsVoResponse>> getOutSettlementPayList(DepositSettlementRecordsVo depositRecordsVo);

	/**
	 * 日清单基本信息
	 * 
	 * @param dailyBedFeeVo
	 * @return
	 */
	ResCommon<DailyBedFeeVoResponse> getDailyBedFee(DailyBedFeeVo dailyBedFeeVo);
	
	/**
	 * 日清单明细列表
	 * 
	 * @param dailyBedFeeDetailVo
	 * @return
	 */
	ResCommon<List<DailyBedFeeDetailVoResponse>> getDailyBedFeeDetail(DailyBedFeeDetailVo dailyBedFeeDetailVo);
	
	/**
	 * 出院带药查询
	 * 
	 * @param outMedicineVo
	 * @return
	 */
	ResCommon<OutMedicineVoResponse> getOutMedicine(OutMedicineVo outMedicineVo);
	
	/**
	 * 出院小结查询
	 * 
	 * @param outSummaryVo
	 * @return
	 */
	ResCommon<OutSummaryVoResponse> getOutSummary(OutSummaryVo outSummaryVo);
	
	/**
	 * 住院医嘱查询
	 * 
	 * @param bedAdviceVo
	 * @return
	 */
	ResCommon<BedAdviceVoResponse> getBedAdvice(BedAdviceVo bedAdviceVo);
	
	// ------------------------------------ 住院 end ------------------------------------ //
	
	// ------------------------------------ 检验检查报告 start ------------------------------------ //
	
	/**
	 * 检查结果列表查询
	 * 
	 * @param examineListVo
	 * @return
	 */
	ResCommon<List<ExamineListVoResponse>> getExamineList(ExamineListVo examineListVo);
	
	/**
	 * 检查结果详情查询
	 * 
	 * @param examineDetailVo
	 * @return
	 */
	ResCommon<ExamineDetailVoResponse> getExamineDetail(ExamineDetailVo examineDetailVo);
	
	/**
	 * 检验报告列表查询
	 * 
	 * @param inspectListVo
	 * @return
	 */
	ResCommon<List<InspectListVoResponse>> getInspectList(InspectListVo inspectListVo);
	
	/**
	 * 检验报告详情查询
	 * 
	 * @param inspectListVo
	 * @return
	 */
	ResCommon<List<InspectDetailVoResponse>> getInspectDetail(InspectDetailVo inspectDetailVo);
	
	/**
	 * 报告图片查询
	 * 
	 * @param reportImageVo
	 * @return
	 */
	ResCommon<List<ReportImageVoResponse>> getReportImage(ReportImageVo reportImageVo);
	
	// ------------------------------------ 检验检查报告 end ------------------------------------ //

	// ------------------------------------ 对账 start ------------------------------------ //
	
	/**
	 * 对账查询
	 * 
	 * @param financeVo
	 * @return
	 */
	ResCommon<FinanceVoResponse> queryFinance(FinanceVo financeVo);


	/**
	 * 省二对账医院订单流水统计查询
	 *
	 * @param financeVo
	 * @return
	 */
	ResCommon<List<FinanceCollectVoResponse>> queryFinanceCollect(FinanceCollectVo financeVo);
	
	// ------------------------------------ 对账 end ------------------------------------ //

	// ------------------------------------ 移动查房 start ------------------------------------ //
	
	/**
	 * 获取医生信息列表
	 * 
	 * @param doctorListVo
	 * @return
	 */
	ResCommon<List<DoctorListVoResponse>> getDoctorList(DoctorListVo doctorListVo);
	
	/**
	 * 获取医生的住院病人列表
	 * 
	 * @param zyPatientListVo
	 * @return
	 */
	ResCommon<List<ZyPatientListVoResponse>> getZyPatientList(ZyPatientListVo zyPatientListVo);
	
	/**
	 * 获取指定患者住院信息
	 * 
	 * @param patHospitalRecordVo
	 * @return
	 */
	ResCommon<PatHospitalRecordVoResponse> getPatHospitalRecord(PatHospitalRecordVo patHospitalRecordVo);
	
	/**
	 * 获取医嘱列表
	 * 
	 * @param adviceListVo
	 * @return
	 */
	ResCommon<AdviceListVoResponse> getAdviceList(AdviceListVo adviceListVo);
	
	/**
	 * 获取病历列表
	 * 
	 * @param medRecordListVo
	 * @return
	 */
	ResCommon<MedRecordListVoResponse> getMedRecordList(MedRecordListVo medRecordListVo);
	
	/**
	 * 获取入院记录
	 * 
	 * @param inHospitalRecordVo
	 * @return
	 */
	ResCommon<InHospitalRecordVoResponse> getInHospitalRecord(InHospitalRecordVo inHospitalRecordVo);
	
	/**
	 * 获取病程记录
	 * 
	 * @param courseListVo
	 * @return
	 */
	ResCommon<CourseListVoResponse> getCourseList(CourseListVo courseListVo);
	
	/**
	 * 获取手术记录
	 * 
	 * @param surgeryRecordVo
	 * @return
	 */
	ResCommon<SurgeryRecordVoResponse> getSurgeryRecord(SurgeryRecordVo surgeryRecordVo);
	
	/**
	 * 获取术前小结
	 * 
	 * @param preSurgeryRecordVo
	 * @return
	 */
	ResCommon<PreSurgeryRecordVoResponse> getPreSurgeryRecord(PreSurgeryRecordVo preSurgeryRecordVo);
	
	/**
	 * 获取出院记录
	 * 
	 * @param hospitalRecordVo
	 * @return
	 */
	ResCommon<OutHospitalRecordVoResponse> getOutHospitalRecord(OutHospitalRecordVo hospitalRecordVo);
	
	// ------------------------------------ 移动查房 end ------------------------------------ //
	
	// ------------------------------------ 其他服务接口 start ------------------------------------ //
	
	/**
	 * 查询前置机日志
	 * 
	 * @param queryLog
	 * @return
	 */
	ResCommon<List<QueryLogVoResponse>> queryLog(QueryLogVo queryLogVo);
	
	/**
	 * 获取出院记录
	 * 
	 * @param hospitalReportVo
	 * @return
	 */
	ResCommon<HospitalReportVoResponse> getHospitalReport(HospitalReportVo hospitalReportVo);
	
	/**
	 * 精准推送
	 * 
	 * @param smsNoticeVo
	 * @return
	 */
	ResCommon<List<SmsNoticeVoResponse>> getSmsNotice(SmsNoticeVo smsNoticeVo);
	
	// ------------------------------------ 其他服务接口 end ------------------------------------ //

	// ------------------------------------ 智慧导医 start ------------------------------------- //
	
	/**
	 * 获取挂号信息
	 * 
	 * @param registerGuideInfoVo
	 * @return
	 */
	ResCommon<RegisterGuideInfoVoResponse> getRegisterGuideInfo(RegisterGuideInfoVo registerGuideInfoVo);

	/**
	 * 获取门诊缴费执行地点信息
	 * 
	 * @param clinicAddressInfoVo
	 * @return
	 */
	ResCommon<List<ClinicAddressInfoVoResponse>> getClinicAddressInfo(ClinicAddressInfoVo clinicAddressInfoVo);
	// ------------------------------------ 智慧导医 end --------------------------------------- //
	
	// ------------------------------------ 商保快赔 start ------------------------------------- //

	/**
	 * 获取商保患者信息列表
	 * 
	 * @param sbPatientsVo
	 * @return
	 */
	ResCommon<List<SBPatientsVoResponse>> getSBPatients(SBPatientsVo patientsVo);
	
	/**
	 * 获取商保门诊诊疗信息
	 * 
	 * @param diagnosisInfoVo
	 * @return
	 */
	ResCommon<SBMZDiagnosisInfoVoResponse> getSBMZDiagnosisInfo(SBMZDiagnosisInfoVo diagnosisInfoVo);

	/**
	 * 获取商保门诊费用信息
	 * 
	 * @param feeRecordsVo
	 * @return
	 */
	ResCommon<List<SBMZFeeRecordsVoResponse>> getSBMZFeeRecords(SBMZFeeRecordsVo feeRecordsVo);

	/**
	 * 获取商保住院诊疗信息
	 * 
	 * @param inPatientDiagnosisVo
	 * @return
	 */
	ResCommon<SBInPatientDiagnosisVoResponse> getSBInPatientDiagnosis(SBInPatientDiagnosisVo inPatientDiagnosisVo);

	/**
	 * 获取商保住院日费用信息
	 * 
	 * @param inPatientFeeRecordsVo
	 * @return
	 */
	ResCommon<List<InPatientFeeRecordsVoResponse>> getInPatientFeeRecords(InPatientFeeRecordsVo inPatientFeeRecordsVo);

	/**
	 * 获取商保检验信息
	 * 
	 * @param inspectRecordVo
	 * @return
	 */
	ResCommon<SBInspectRecordVoResponse> getSBInspectRecord(SBInspectRecordVo inspectRecordVo);
	
	/**
	 * 获取商保检查信息
	 * 
	 * @param checkRecordVo
	 * @return
	 */
	ResCommon<SBCheckRecordVoResponse> getSBCheckRecord(SBCheckRecordVo checkRecordVo);
	
	/**
	 * 获取商保手术记录
	 * 
	 * @param surgeryRecordVo
	 * @return
	 */
	ResCommon<SBSurgeryRecordVoResponse> getSBSurgeryRecord(SBSurgeryRecordVo surgeryRecordVo);
	
	/**
	 * 获取住院检验和检查reportId
	 * 
	 * @param sbInPatientReportIdsVo
	 * @return
	 */
	ResCommon<SBInPatientReportIdsVoResponse> getSBInPatientReportIds(SBInPatientReportIdsVo sbInPatientReportIdsVo);
	
	/**
	 * 获取商保住院总费用清单
	 * 
	 * @param inPatientSumFeeListVo
	 * @return
	 */
	ResCommon<InPatientSumFeeListVoResponse> getInPatientSumFeeList(InPatientSumFeeListVo inPatientSumFeeListVo);
	// ------------------------------------ 商保快赔 end --------------------------------------- //
	
	// ------------------------------------ 体检 start ---------------------------------------- //
	/**
	 * 体检报告列表查询
	 * 
	 * @param physicalExamListVo
	 * @return
	 */
	ResCommon<List<PhysicalExamListVoResponse>> getPhysicalExamList(PhysicalExamListVo physicalExamListVo);
	
	/**
	 * 体检报告详情查询
	 * 
	 * @param physicalExamDetailVo
	 * @return
	 */
	ResCommon<PhysicalExamDetailVoResponse> getPhysicalExamDetail(PhysicalExamDetailVo physicalExamDetailVo);
	
	/**
	 * 体检报告项目详情查询
	 * 
	 * @param physicalExamItemDetailVo
	 * @return
	 */
	ResCommon<List<PhysicalExamItemDetailVoResponse>> getPhysicalExamItemDetail(PhysicalExamItemDetailVo physicalExamItemDetailVo);
	
	/**
	 * 体检报告项目详情查询
	 * 
	 * @param physicalReportImageVo
	 * @return
	 */
	ResCommon<List<PhysicalReportImageVoResponse>> getPhysicalReportImage(PhysicalReportImageVo physicalReportImageVo);
	// ------------------------------------ 体检 end ------------------------------------------ //

	/**
	 * 自动取号查询
	 * @return
     */
	ResCommon<List<AutoTakeNoVoResponse>> autoTakeRegisterNo(BaseVo vo);
}
